package org.etsi.ttcn.tri;

public interface TriAddressList {
  /**
   * Returns the number of components in this list.
   * 
   * @return the number of components in this list.
   */
  public int size();

  /**
   * Returns true if this list contains no components.
   * 
   * @return true if this list contains no components.
   */
  public boolean isEmpty();

  /**
   * Returns an Enumeration over the components in the list. The enumeration
   * provides the addresses in the same order as they appear in the list.
   * 
   * @return an Enumeration over the components in the list.
   */
  public java.util.Enumeration getAddresses();

  /**
   * Returns the TriAddress at the specified position.
   * 
   * @param index
   *          the position in the list
   * @return the TriAddress at the specified position.
   */
  public TriAddress get(int index);

  /**
   * Removes all addresses from this TriAddressList.
   */
  public void clear();

  /**
   * Adds addr to the end of this TriAddressList.
   * 
   * @param addr
   *          the address to be added
   */
  public void add(TriAddress addr);
}
